/*
 * Copyright (C) 2010 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.google.doclava;

public class AnnotationInstanceInfo {
  private ClassInfo mType;
  private AnnotationValueInfo[] mElementValues;

  public AnnotationInstanceInfo(ClassInfo type, AnnotationValueInfo[] elementValues) {
    mType = type;
    mElementValues = elementValues;
  }

  ClassInfo type() {
    return mType;
  }

  AnnotationValueInfo[] elementValues() {
    return mElementValues;
  }

  @Override
  public String toString() {
    StringBuilder str = new StringBuilder();
    str.append("@");
    str.append(mType.qualifiedName());
    str.append("(");
    AnnotationValueInfo[] values = mElementValues;
    final int N = values.length;
    for (int i = 0; i < N; i++) {
      AnnotationValueInfo value = values[i];
      str.append(value.element().name());
      str.append("=");
      str.append(value.valueString());
      if (i != N - 1) {
        str.append(",");
      }
    }
    str.append(")");
    return str.toString();
  }
}
